package com.ygqh.baby.mapper;

import com.ygqh.baby.model.OrderInfo4ReturnOff;
import com.ygqh.baby.model.YgReturnOrderInfoModel;
import com.ygqh.baby.po.YgReturnOrderOffLine;
import com.ygqh.baby.po.YgReturnOrderOffLineExample;
import com.ygqh.baby.ao.QueryInfo;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;

public interface YgReturnOrderOffLineMapper {
	int countByExample(YgReturnOrderOffLineExample example);

	int deleteByExample(YgReturnOrderOffLineExample example);

	int deleteByPrimaryKey(Long id);

	int insert(YgReturnOrderOffLine record);

	int insertSelective(YgReturnOrderOffLine record);

	List<YgReturnOrderOffLine> selectByExample(YgReturnOrderOffLineExample example);

	YgReturnOrderOffLine selectByPrimaryKey(Long id);

	int updateByExampleSelective(@Param("record") YgReturnOrderOffLine record, @Param("example") YgReturnOrderOffLineExample example);

	int updateByExample(@Param("record") YgReturnOrderOffLine record, @Param("example") YgReturnOrderOffLineExample example);

	int updateByPrimaryKeySelective(YgReturnOrderOffLine record);

	int updateByPrimaryKey(YgReturnOrderOffLine record);

	int countSuper(@Param("orderId") Long orderId, @Param("startDate") Date startDate, @Param("endDate") Date endDate,
			@Param("expressCode") String expressCode, @Param("q") String q);

	List<YgReturnOrderOffLine> selectSuper(@Param("queryInfo") QueryInfo queryInfo, @Param("orderId") Long orderId, @Param("startDate") Date startDate,
			@Param("endDate") Date endDate, @Param("expressCode") String expressCode, @Param("q") String q);

	OrderInfo4ReturnOff selectOrderInfoToOffReturn(@Param("orderId") Long orderId);

	YgReturnOrderInfoModel selectReturnOrderInfo(@Param("returnCode") String returnCode, @Param("userId") Long userId);

}
